#include "ProcessPool.hpp"
#include "Task.hpp"

// 提醒用户如何输入所需进程/管道数
void Usage(string proc)
{
    cout << "Usage: " << proc << "process-num" << endl;
}

// 我们自己就是master
int main(int argc, char *argv[])
{
    if (argc != 2)
    {
        Usage(argv[0]);
        return UsageError;
    }
    int num = stoi(argv[1]);
    ProcessPool *pp = new ProcessPool(num, worker);
    // 初始化进程池
    pp->InitProcessPool();
    // 派发任务
    pp->DispatchTask();
    // 退出进程池
    pp->CleanProcesspool();

    // vector<Channel> channels;
    // // 初始化进程池
    // InitProcessPool(num, channels, worker);
    // // 派发任务
    // DispatchTask(channels);
    // // 退出进程池
    // CleanProcesspool(channels);

    // 调试
    // DebugPront(channels);

    // sleep(100);
    delete pp;
    return 0;
}